草庐IT

HTML5 新元素

全部标签

javascript - 是否有任何工具可以按 DOM 结构比较 HTML 文档?

我想比较两个HTML文档,并想知道它们是否相同。但仅按DOM结构进行比较,这意味着忽略标签中属性的顺序,例如,是一样的。 最佳答案 DOMLevel3Core提供方法isEqualNode()比较内容给出一个解析的DOM节点。Firefox、Chrome、Safari和IE9支持此功能,但Opera或更早版本的浏览器不支持。如果您需要其他浏览器的支持,则必须自己实现。这是JS中的部分实现:functionNode_isEqualNode(that,other){//Usenativesupportwhereavailable//if

javascript - 如何使用 JavaScript/jQuery 找到两个元素节点之间的所有文本节点?

给定以下HTML片段:abc[defghijkl]mno我需要一个算法来使用Javascript获取#x和#y之间所有文本类型的节点。或者是否有一个JQuery函数可以做到这一点?上面示例的结果文本节点(忽略空白节点)将是:['def','ghi','jkl'] 最佳答案 以下内容适用于所有使用DOM方法且不使用库的主流浏览器。它还会忽略问题中提到的空白文本节点。强制性jsfiddle:http://jsfiddle.net/timdown/a2Fm6/functiongetTextNodesBetween(rootNode,sta

javascript - Zend Framework - 使用 javascript 添加新的输入元素

我正在使用ZendFramework开展一个项目。我正在创建一个表单,用户可以在该表单上按+号添加一组元素。Zend框架使用子表单和装饰器从表单中获取值数组。这些将在页面显示时显示用Javascript创建的新字段如何集成到该模型中? 最佳答案 我熟悉的在客户端动态添加字段到Zend_Form的最佳演示来自JeremyKendall:http://jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/该技术的结果是在表单上添加/调用preValid

javascript - 在滚动完成之前,Safari 中的单指滚动不会呈现 html

在一个移动web应用程序中,我有一个div,它可以使用新的fancy-webkit-overflow-scrolling:touch滚动。唯一的问题是只有在滚动完成时才会呈现内容。有没有办法让MobileSafari(可能还有其他移动浏览器,如Android中的浏览器)在单指滚动期间呈现html?.layer-content{position:absolute;top:112px;bottom:0;width:100%;background:#e6e6e6;overflow-y:scroll;-webkit-overflow-scrolling:touch;}

javascript - 如何使用 JavaScript 获取缩放后的 SVG 元素的宽度?

如果我有内联SVG,包括一个已缩放的元素......或者在中带有viewBox的元素属性:...我如何以编程方式找到myElement的新缩放宽度(以像素为单位)-无需手动检测缩放比例并进行数学计算?到目前为止myElement.getBBox().width返回245不考虑缩放比例。 最佳答案 请检查这个fiddlehttp://jsfiddle.net/T723E/.单击矩形并注意firebug控制台。在这里,我硬编码了一个数字.3,它是包含svg节点/1000个用户单元的div的300像素宽度。看到赏金后,这是我返回的函数,无

javascript - 保护 DIV 元素不在 TinyMCE 中被删除

我正在尝试创建一个场景,在该场景中只能删除DIV中的内容,而不能删除WordPress中使用的TinyMCE编辑器中的DIV标签本身。例如;content在TinyMCE编辑器中,我希望用户能够删除他/她的“内容”,但是在删除时禁用退格键/删除键,应该禁止他们这样做。我想到了一些类似的东西;content由于用户在TinyMCEVisualPane中看不到HTML-可能只允许其中的内容可编辑,并且一旦被识别为空,所有删除功能(鼠标/键盘)将被禁用以保留div。我希望这是有道理的,如果没有,请告诉我,我会尝试提供一些进一步的信息。我一直在寻找潜在的解决方案,但我不确定解决这个问题的最佳方

javascript - 如何动态创建 Backbone View 元素?

我想在Backbonejs应用程序中动态创建一些View元素。初始化新View时,我希望它将新元素插入到DOM中,将对该元素的引用存储在view.el中,并像往常一样委托(delegate)事件。我知道我可以放入我的html,然后使用el:"#test"设置一个View,但这对于模式和其他不是Web应用程序核心的View来说似乎有点矫枉过正。我在文档中缺少规定的方法吗?我只是误解了View应该如何工作吗? 最佳答案 主干View将生成el为您服务,无需您做任何事情。默认情况下,它会创建一个.不过,您可以生成任何您想要的标签名称。实例

javascript - 如何获取所有以某物开头的 HTML 属性(属性名称,*不是*它们的值!)

我想获取HTML页面中的所有元素/节点,这些元素/节点包含以某物开头的属性(同样,属性名称以某物开头,而不是它们的值!)。例如,TinyMCE倾向于为其保存的元素添加自定义属性,如"mce_style"、"mce_href"、"mce_bogus"等。我想要类似CSS3选择器的属性值,[attr^="mce_"],但不是值,属性名称。当然,我可以遍历所有的DOM节点和它们的属性,并一一检查,但我想知道是否有更有效的方法。请不要给我特定于TinyMCE的答案,我很确定有一个标志会阻止TinyMCE保存这些属性,但问题是通用的。 最佳答案

javascript - 点击浏览器 "back"按钮显示 JSON 而不是 HTML(使用 Rails 和 d3.js)

我正在使用d3.jsJSON回调在Rails中生成图表,如下所示:查看d3.json(document.URL,function(data){//generatechart}Controllerdefindexrespond_todo|format|format.htmldo#returntheHTMLendformat.jsondo#returntheJSONendendend一切正常。然而,当用户离开此图表,然后使用浏览器上的“后退”按钮导航回到它时,他们会看到JSON而不是HTML。你能建议我如何解决这个问题吗? 最佳答案 嗯

javascript - 使用 DOM 元素作为 javascript 映射的键

我正在尝试将一些“私有(private)”数据与DOM元素相关联。我没有将该数据添加到DOM元素本身(我想避免更改DOM元素),而是有一个单独的数据对象,我想将其用作map。而不是:document.GetElementById('someElementId').privateData={};我想做internalPrivateDataMap[document.GetElementById('someElementId')].privateData={};并不是所有的元素都有id字段,有些是动态创建的,所以我不能用id作为键。这对大多数元素都适用,但对于“a”元素,使用的键似乎是元素的